package com.dau.service.system.dept;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dau.common.page.PageQuery;
import com.dau.common.page.TableDataInfo;
import com.dau.entity.system.dept.DeptAndUser;
import com.dau.entity.system.dept.SysDept;
import com.dau.entity.system.user.SysUser;

/**
 * 系统部门服务
 *
 * @author tzj
 * @date 2024/11/19
 */
public interface SysDeptService extends IService<SysDept> {
    /**
     * 部门分页数据
     *
     * @param sysDept   系统部们
     * @param pageQuery 分页参数
     * @return {@link TableDataInfo }<{@link SysUser }>
     */
    TableDataInfo<SysDept> selectDeptPage(SysDept sysDept, PageQuery pageQuery);

    /**
     * 添加或更新
     *
     * @param sysDept 系统部门
     * @param id      用户id
     */
    void addOrUpdate(SysDept sysDept, Long id);

    /**
     * 绑定部门和用户
     *
     * @param deptAndUser 部门和用户
     */
    void bind(DeptAndUser deptAndUser);

    /**
     * 查询部门信息(含部门下所有用户信息)
     *
     * @param id 身份证件
     * @return {@link SysDept }
     */
    SysDept queryDeptInfo(String id);
}
